/* 
模块缓存
    第一次加载某个模块时，Node 会缓存该模块；
    以后再加载该模块，会直接从缓存取出该模块的相关属性，不会重新加载；
    缓存的模块在同一执行代码中，无论是在何处被加载，都会优先读取缓存；
    缓存模块只有在执行代码结束或终止时才会被清除。 
*/

// require("./module3/moduleB.js");
// require("./module3/moduleB.js");
// require("./module3/moduleB.js");
// require("./module3/moduleB.js");

const f1=require("./module3/moduleC.js");//因为模块缓存，这部分没有重复加载模块
let obj1=f1(1);//return 后面的那个对象
obj1.printSum();

const f2=require("./module3/moduleC.js");
let obj2=f2(2);//return 后面的那个对象
obj2.printSum();//3

const f3=require("./module3/moduleC.js");
let obj3=f3(3);//return 后面的那个对象
obj3.printSum();//3


obj1.printSum();
obj2.printSum();
obj3.printSum();
